import { ajaxRequest } from '@/common/request'
import { Login_API_URL, BIND_MOBILE_API_URL, AJAX_UPLOAD_API_URL, SHOP_CHAT_INFO_API_URL, SHOP_USERPROFILE_ADD_API_URL, SHOP_USERPROFILE_STATUS_API_URL ,SHOP_USERPROFILE_INFO_API_URL,SHOP_TOPIC_DEL_API_URL,SHOP_USERPROFILE_EDIT_API_URL,SHOP_CHANNELCATEGORIES_API_URL,SHOP_USERPROFILE_EDIT_SINGLEITEM_API_URL,EDIT_MOBILE_API_URL, SHOP_USER_SETTINGS_API_URL,SHOP_USERPROFILE_SWITCHORDER_API_URL,SHOP_SERVICETYPE_API_URL, SHOP_ORDER_LIST_API_URL, SHOP_ORDER_ACCEPT_API_URL, SHOP_ORDER_REJECT_API_URL, ORDER_INFO_API_URL,ORDER_GETTIME_API_URL, SHOP_ORDER_COMPLETE_API_URL, REGION_LIST_API_URL, AGREEMENTS_PRIVACY_API_URL, AGREEMENTS_SERVICE_API_URL, SHOP_INDEX_INIT} from '@/common/serviveApi'
import { USER_PROFILE_STATUS } from '@/typing'
import Taro from '@tarojs/taro'
import { STORE_KEY } from './config'


export const handleLoginAjax = (code) => ajaxRequest({
    url: Login_API_URL,
    method: 'POST',
    data: { code },
    header: { 'Content-Type': 'application/x-www-form-urlencoded' }
})


export const handleBindMobilePhone = (code) => {
    const token = Taro.getStorageSync(STORE_KEY.TOKEN) || ''
    return ajaxRequest({

        url: BIND_MOBILE_API_URL,
        method: 'POST',
        data: { code },
        header: { 'ba-shopuser-token': token, 'Content-Type': 'application/x-www-form-urlencoded' }
    })
}

export const handleAjaxUpload = (file) => {
    const token = Taro.getStorageSync(STORE_KEY.TOKEN) || ''
    return ajaxRequest({

        url: AJAX_UPLOAD_API_URL,
        method: 'POST',
        data: { file },
        header: { 'ba-shopuser-token': token, 'Content-Type': 'application/x-www-form-urlencoded' }
    })
}

export const handleShopChatInfoAjax = () => {
    const token = Taro.getStorageSync(STORE_KEY.TOKEN) || ''
    return ajaxRequest({

        url: SHOP_CHAT_INFO_API_URL,
        method: 'GET',
        header: { 'ba-shopuser-token': token }
    })
}

export const handleShopUserprofileAdd = (data) => {
    const token = Taro.getStorageSync(STORE_KEY.TOKEN) || ''
    const storeUserProfileStatus = Taro.getStorageSync(STORE_KEY.USER_PROFILE_STATUS) || USER_PROFILE_STATUS.unknown;
    const ajaxUrl = storeUserProfileStatus === USER_PROFILE_STATUS.unknown ? SHOP_USERPROFILE_ADD_API_URL : SHOP_USERPROFILE_EDIT_API_URL;
    return ajaxRequest({

        url: ajaxUrl,
        method: 'POST',
        data,
        header: { 'ba-shopuser-token': token, 'Content-Type': 'application/x-www-form-urlencoded' }
    })
}


// 导出一个函数，用于处理店铺用户资料状态
// 导出一个函数，用于处理店铺用户资料状态
export const handleShopUserprofileStatus = () => {
    // 从本地存储中获取token，如果没有则设置为空字符串
    const token = Taro.getStorageSync(STORE_KEY.TOKEN) || ''
    // 发起ajax请求，获取店铺用户资料状态
    return ajaxRequest({

        // 请求的url
        url: SHOP_USERPROFILE_STATUS_API_URL,
        // 请求的方法
        method: 'GET',
        header: { 'ba-shopuser-token': token, 'Content-Type': 'application/x-www-form-urlencoded' }
    })
}

export const handleShopUserprofileInfo = () => {
    // 从本地存储中获取token，如果没有则设置为空字符串
    const token = Taro.getStorageSync(STORE_KEY.TOKEN) || ''
    // 发起ajax请求，获取店铺用户资料状态
    return ajaxRequest({

        // 请求的url
        url: SHOP_USERPROFILE_INFO_API_URL,
        // 请求的方法
        method: 'GET',
        header: { 'ba-shopuser-token': token, 'Content-Type': 'application/x-www-form-urlencoded' }
    })
}

export const handleShopTopicDel = (data) => {
    // console.log(data)
    // 从本地存储中获取token，如果没有则设置为空字符串
    const token = Taro.getStorageSync(STORE_KEY.TOKEN) || ''
    // 发起ajax请求，获取店铺用户资料状态
    return ajaxRequest({

        // 请求的url
        url: SHOP_TOPIC_DEL_API_URL,
        // 请求的方法
        method: 'DELETE',
        data,
        header: { 'ba-shopuser-token': token, 'Content-Type': 'application/x-www-form-urlencoded' }
    })
}

export const handleShopChannelCategories = () => {
    // 从本地存储中获取token，如果没有则设置为空字符串
    const token = Taro.getStorageSync(STORE_KEY.TOKEN) || ''
    // 发起ajax请求，获取店铺用户资料状态
    return ajaxRequest({

        // 请求的url
        url: SHOP_CHANNELCATEGORIES_API_URL,
        // 请求的方法
        method: 'GET',
        header: { 'ba-shopuser-token': token, 'Content-Type': 'application/x-www-form-urlencoded' }
    })
}

// 导出一个函数，用于处理店铺用户资料编辑
export const handleShopUserprofileEditSingle = (data) => {
    // 从本地存储中获取token，如果没有则设置为空字符串
    const token = Taro.getStorageSync(STORE_KEY.TOKEN) || ''
    // 发起ajax请求，获取店铺用户资料状态
    return ajaxRequest({

        // 请求的url
        url: SHOP_USERPROFILE_EDIT_SINGLEITEM_API_URL,
        // 请求的方法
        method: 'POST',
        data,
        header: { 'ba-shopuser-token': token, 'Content-Type': 'application/x-www-form-urlencoded' }
    })
}


export const handleEditMobilePhone = (code) => {
    const token = Taro.getStorageSync(STORE_KEY.TOKEN) || ''
    return ajaxRequest({

        url: EDIT_MOBILE_API_URL,
        method: 'POST',
        data: { code },
        header: { 'ba-shopuser-token': token, 'Content-Type': 'application/x-www-form-urlencoded' }
    })
}

// 导出一个函数handleShopUserSetting
export const handleShopUserSetting = () => {
    // 从本地存储中获取token，如果没有则赋值为空字符串
    const token = Taro.getStorageSync(STORE_KEY.TOKEN) || ''
    // 发起ajax请求，获取店铺用户设置
    return ajaxRequest({

        // 请求的url
        url: SHOP_USER_SETTINGS_API_URL,
        // 请求的方法
        method: 'GET',
        // 请求的头部信息
        header: { 'ba-shopuser-token': token, 'Content-Type': 'application/x-www-form-urlencoded' }
    })
}

// 导出一个函数handleUserprofileSwitchOrder，用于处理用户个人资料切换订单
// 导出一个函数handleUserprofileSwitchOrder
export const handleUserprofileSwitchOrder = () => {
    // 从本地存储中获取token，如果没有则赋值为空字符串
    const token = Taro.getStorageSync(STORE_KEY.TOKEN) || ''
    // 发送ajax请求，请求地址为SHOP_USERPROFILE_SWITCHORDER_API_URL，请求方法为POST，请求参数为data，请求头中包含token和Content-Type
    return ajaxRequest({

        url:SHOP_USERPROFILE_SWITCHORDER_API_URL,
        method: 'POST',
       
        header: { 'ba-shopuser-token': token, 'Content-Type': 'application/x-www-form-urlencoded' }
    })
}

export const handleShopServiceType = () => {
    // 从本地存储中获取token，如果没有则赋值为空字符串
    const token = Taro.getStorageSync(STORE_KEY.TOKEN) || ''
    // 发送ajax请求，请求地址为SHOP_USERPROFILE_SWITCHORDER_API_URL，请求方法为POST，请求参数为data，请求头中包含token和Content-Type
    return ajaxRequest({

        url:SHOP_SERVICETYPE_API_URL,
        method: 'GET',
       
        header: { 'ba-shopuser-token': token, 'Content-Type': 'application/x-www-form-urlencoded' }
    })
}

export const handleOrderList = (status,page) => {
    const token = Taro.getStorageSync(STORE_KEY.TOKEN) || ''
    return ajaxRequest({

        // 请求的url
        url: SHOP_ORDER_LIST_API_URL,
        // 请求的方法
        method: 'GET',
        data:{
            status,page
        },
        header: { 'ba-shopuser-token': token, 'Content-Type': 'application/x-www-form-urlencoded' }
    })
}


export const handleOrderAccept= (data) => {
    const token = Taro.getStorageSync(STORE_KEY.TOKEN) || ''
    return ajaxRequest({

        // 请求的url
        url: SHOP_ORDER_ACCEPT_API_URL,
        // 请求的方法
        method: 'POST',
        data,
        header: { 'ba-shopuser-token': token, 'Content-Type': 'application/x-www-form-urlencoded' }
    })
}


export const handleOrderReject= (id) => {
    const token = Taro.getStorageSync(STORE_KEY.TOKEN) || ''
    return ajaxRequest({

        // 请求的url
        url: SHOP_ORDER_REJECT_API_URL,
        // 请求的方法
        method: 'POST',
        data:{id},
        header: { 'ba-shopuser-token': token, 'Content-Type': 'application/x-www-form-urlencoded' }
    })
}


export const handleOrderComplete= (id) => {
    const token = Taro.getStorageSync(STORE_KEY.TOKEN) || ''
    return ajaxRequest({

        // 请求的url
        url: SHOP_ORDER_COMPLETE_API_URL,
        // 请求的方法
        method: 'POST',
        data:{id},
        header: { 'ba-shopuser-token': token, 'Content-Type': 'application/x-www-form-urlencoded' }
    })
}


export const handleOrderDetail = (id) => {
    const token = Taro.getStorageSync(STORE_KEY.TOKEN) || ''
    return ajaxRequest({

        // 请求的url
        url: ORDER_INFO_API_URL,
        // 请求的方法
        method: 'GET',
        data: { id },
        header: { 'ba-shopuser-token': token, 'Content-Type': 'application/x-www-form-urlencoded' }
    })
}


export const handleGetOrderTime = () => {
    const token = Taro.getStorageSync(STORE_KEY.TOKEN) || ''
    return ajaxRequest({

        // 请求的url
        url: ORDER_GETTIME_API_URL,
        // 请求的方法
        method: 'GET',
        
        header: { 'ba-shopuser-token': token, 'Content-Type': 'application/x-www-form-urlencoded' }
    })
}



export const handleRegionList = () => {
    // const token = Taro.getStorageSync(STORE_KEY.TOKEN) || ''
    return ajaxRequest({

        // 请求的url
        url: REGION_LIST_API_URL,
        // 请求的方法
        method: 'GET',
        
        header: {  'Content-Type': 'application/x-www-form-urlencoded' }
    })
}


export const handleAgreementPrivacy = (source) => {
    // const token = Taro.getStorageSync(STORE_KEY.TOKEN) || ''
    return ajaxRequest({

        // 请求的url
        url: AGREEMENTS_PRIVACY_API_URL,
        // 请求的方法
        method: 'GET',
        data:{source},
        header: {  'Content-Type': 'application/x-www-form-urlencoded' }
    })
}

export const handleAgreementService = (source) => {
    // const token = Taro.getStorageSync(STORE_KEY.TOKEN) || ''
    return ajaxRequest({

        // 请求的url
        url: AGREEMENTS_SERVICE_API_URL,
        // 请求的方法
        method: 'GET',
        data:{source},
        header: {  'Content-Type': 'application/x-www-form-urlencoded' }
    })
}
export const handleIndexInit = () => {
    // const token = Taro.getStorageSync(STORE_KEY.TOKEN) || ''
    return ajaxRequest({

        // 请求的url
        url: SHOP_INDEX_INIT,
        // 请求的方法
        method: 'GET',
        data:{},
        header: {  'Content-Type': 'application/x-www-form-urlencoded' }
    })
}